-
Notifications
You must be signed in to change notification settings - Fork 153
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: improve reliability & usability of VFolder removal API #1884
Conversation
Need to limit the concurrent deletion jobs for each vfolder to one and the maximum concurrent number of vfolder deletion jobs for each storage volume (configurable, defaults to 20) as a storage-proxy configuration. |
…gtask' into feature/improve-vf-purge-using-bgtask
|
||
async with aiotools.TaskGroup() as tg: | ||
for _, vfolder_iterator in itertools.groupby( | ||
sorted(requested_vfolders, key=_keyfunc), key=_keyfunc |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In this case, using typing.Iterable
seems more suitable than typing.Sequence
for requested_vfolders
.
(ref: https://docs.python.org/3/library/functions.html#sorted)
resolves #1797
blocked by #1892we do not need to back-port Graphene relay node part to 23.09.We are now able to backport relay node impl to 23.09Let's not backport this PR
log_level
fieldasyncio.Semaphore
to limit too many concurrent deletion task for one storage-proxy process and apply File-lock to limit concurrent deletion on the same directoryAddmove_to_trash_vfolder
,restore_vfolder
,delete_forever_vfolder
andpurge_vfolder
GraphQL endpointsAdding GQL APIs will be handled in another PR
Checklist: (if applicable)
ai.backend.test
📚 Documentation preview 📚: https://sorna--1884.org.readthedocs.build/en/1884/
📚 Documentation preview 📚: https://sorna-ko--1884.org.readthedocs.build/ko/1884/